package com.youlu.campus.monitor.service;

import com.youlu.campus.monitor.entity.WechatMonitorTask;
import com.youlu.campus.monitor.entity.WechatMonitorTaskPageQuery;
import org.springframework.data.domain.Page;

import java.util.List;

/**
 * 微信监控任务业务逻辑层接口
 * 定义业务方法，返回值为业务对象/基础类型，不依赖QResult
 *
 * @author su
 * @date 2025/09/02
 */
public interface WechatMonitorTaskService {

    /**
     * 新增微信监控任务
     *
     * @param task 微信监控任务实体（不含id）
     * @return 新增后的任务实体（含自动生成的id）
     */
    WechatMonitorTask saveTask(WechatMonitorTask task);

    /**
     * 根据id删除微信监控任务
     *
     * @param id 任务id（MongoDB的_id）
     * @return true：删除成功；false：任务不存在
     */
    boolean deleteTaskById(String id);


    /**
     * 根据id查询微信监控任务详情
     *
     * @param id 任务id
     * @return 任务实体；null：任务不存在
     */
    WechatMonitorTask getTaskById(String id);

    /**
     * 分页查询微信监控任务列表
     *
     * @param pageQuery 分页参数（页码、每页条数、排序规则）
     * @return 分页任务列表
     */
    Page<WechatMonitorTask> findByPage(WechatMonitorTaskPageQuery pageQuery);

    /**
     * 查询所有微信监控任务（非分页）
     *
     * @return 所有任务列表
     */
    List<WechatMonitorTask> listAllTasks();

}
    